#ifndef SOCKET_CONNPOOL_H
#define SOCKET_CONNPOOL_H

#include "../base/ObjectPool.hpp"
#include "Connection.hpp"
#include "../base/Singleton.hpp"

namespace DBServer
{
namespace Socket
{

class ConnPool : public DBServer::Base::ObjectPool<ServerConn> , 
                 public DBServer::Base::Singleton<ConnPool> {

friend class Singleton<ConnPool>;
public:
    ~ConnPool() = default;

    ConnPool(const ConnPool&) = delete;
    ConnPool(const ConnPool&&) = delete;
    const ConnPool& operator=(const ConnPool&) = delete;
    const ConnPool&& operator=(const ConnPool&&) = delete;
protected:
    ConnPool() = default;
};

} // namespace Socket    
} // namespace DBServer




#endif